package com.qunchuang.pojo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.io.Serializable;

/**
 * 任务表(LiftAgvcTask)实体类
 *
 * @author makejava
 * @since 2024-04-09 17:53:08
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "lift_agvc_task")
public class LiftAgvcTaskEntity implements Serializable {
    /**
     * 任务id
     */
    @TableField("id")
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 电梯id
     */
    @TableField("lift_id")
    private String liftId;
    /**
     * agvid
     */
    @TableField("agv_id")
    private String agvId;
    /**
     * 电梯储位id
     */
    @TableField("storage_location_id")
    private String storageLocationId;
    /**
     * agv请求点位
     */
    @TableField("request_dot")
    private String requestDot;
    /**
     * agv结束点位
     */
    @TableField("end_dot")
    private String endDot;
    /**
     * 电梯起始楼层
     */
    @TableField("lift_start_floor")
    private Integer liftStartFloor;
    /**
     * 电梯最终楼层
     */
    @TableField("lift_end_floor")
    private Integer liftEndFloor;
    /**
     * 起始时间
     */
    @TableField("start_time")
    private Date startTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 任务状态，0分配电梯储位，1呼叫电梯，2电梯到达起始楼层，3电梯门完全打开，4通知agvc电梯到达起始楼层，允许agv进入电梯，5agv到达电梯储位，6电梯门完全关闭，7电梯到达最终楼层，
     * 8电梯门完全打开，9通知agvc电梯到达最终楼层，允许agv离开电梯，10agv离开电梯，到达结束点位，11电梯关门，释放任务和电梯
     */
    @TableField("state")
    private Integer state;

    @TableField("booking")
    private Integer booking;
}

